package com.meituan.catering.management.shop.biz.model.common;

import com.meituan.catering.management.shop.api.http.model.common.AuditingHttpDTO;
import com.meituan.catering.management.shop.api.http.model.common.ContactDTO;
import com.meituan.catering.management.shop.api.http.model.common.DateRangeDTO;
import com.meituan.catering.management.shop.api.http.model.common.DescribableEnumDTO;
import com.meituan.catering.management.shop.api.http.model.response.ShopPageHttpResponse;
import com.meituan.catering.management.shop.biz.model.ShopBO;
import com.meituan.catering.management.shop.biz.model.enumeration.BusinessTypeEnum;
import com.meituan.catering.management.shop.biz.model.enumeration.ManagementTypeEnum;
import com.meituan.catering.management.shop.dao.model.ShopDO;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.LinkedList;
import java.util.List;

/**
 * @Author:ale
 * @Date 2022/4/22 17:04
 * @Version 1.0
 */
@Data
public class PageBO<T> {

    private Integer pageIndex;

    private Integer pageSize;

    private Integer totalCount;

    private Integer totalPageCount;

    private  List<ShopBO> records = new LinkedList<>();

    @Data
    public static class Record {

        private Long id;

        private Long superiorId;

        private final AuditingBO auditing = new AuditingBO();

        private String businessNo;

        private String name;

        /**
         * 主营业态
         */
        @NotNull
        private BusinessTypeEnum businessType;

        private final ContactDTO contact = new ContactDTO();

        /**
         * 管理类型
         */
        @NotNull
        private ManagementTypeEnum managementType;

        private final DateRangeBO openingHours = new DateRangeBO();

        private String businessArea;

        private String comment;

        private Boolean enabled;


    }
}
